#define _CRT_SECURE_NO_WARNINGS 1
//#pragma pack(8)
////#define SWAP(num) (num=(((num&0x55555555)<<1)+((num&0xaaaaaaaa)>>1)))
////#include<stdio.h>
////int main()
////{
////
////	int num = 10;
////	SWAP(num);
////	printf("%d",num);
////	return 0;
////}
//
//#define OFFSETOF(type,mem) (int)&(((type*)0)->mem)
//#include<stdio.h>
//struct S {
//	int a;
//	double b;
//	double c;
//};
//int main()
//{
//	printf("%d\n", OFFSETOF(struct S, a));
//	printf("%d\n", OFFSETOF(struct S, b));
//	printf("%d\n", OFFSETOF(struct S, c));
//
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int x = a;
//	int y = b;
//	int max = 0;
//
//	while (max = a % b)
//	{
//		a = b;
//		b = max;
//	}
//	int min = x * y / b;
//	printf("%d", min);
//	return 0;
//}

#include<stdio.h>
#include<assert.h>
void rev(char* str)
{
	assert(str);
	char* tmp = str;
	while (*str != '\0')
	{
		str++;
	}
	while (*str-- != ' ')
	{
		str--;
	}

}
int main()
{
	char arr[20] = "i like beijing.";
	rev(arr);
	return 0;
}